package cn.itcast.solr;

import cn.itcast.domain.Item;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;

import java.io.IOException;

public class SolrIndexCreate {
    /**
     * @Description:创建一个索引文档
     *
     * @Author:fsy
     * @Date:2018/3/2
     */
    @Test
    public void testCreateIndex() throws IOException, SolrServerException {
        //连接服务器
        SolrServer server = new HttpSolrServer("http://localhost:8080/solr/core1");
        //创建solr的输入document
        SolrInputDocument document = new SolrInputDocument();
        //添加字段
        document.addField("id", "10086");
        document.addField("title", "就业最好去金融公司");
        document.addField("price", 1800000);

        //把文档交给服务器
        server.add(document);
        //提交
        server.commit();
        System.out.println("创建文档完成");
    }

    /**
     * @Description:更改文档中的信息
     *
     * @Author:fsy
     * @Date:2018/3/2
     */
    @Test
    public void testUpdateIndex() throws IOException, SolrServerException {
        //连接服务器
        SolrServer server = new HttpSolrServer("http://localhost:8080/solr/core1");
        //创建solr的输入document
        SolrInputDocument document = new SolrInputDocument();
        //添加字段
        document.addField("id", "10086");
        document.addField("title", "就业最好去大一点的公司");
        document.addField("price", 1800000);

        //把文档交给服务器
        server.add(document);
        //提交
        server.commit();
        System.out.println("修改文档完成");
    }

    /**
     * @Description:创建一个实体类，并且发布到solr上面
     *
     * @Author:fsy
     * @Date:2018/3/2
     */
    @Test
    public void testCreateIndexBean() throws IOException, SolrServerException {
        //创建连接solr服务器
        SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/core1");
        //创建一个实体类
        Item item = new Item();
        item.setId("10086");
        item.setTitle("斯派德摄像头，好用");
        item.setPrice(199000);
        //将对象添加到服务器中
        solrServer.addBean(item);
        //提交
        solrServer.commit();
        System.out.println("创建实体类完成");
    }

    /**
     * @Description:修改实体类中创建好的信息
     *
     * @Author:fsy
     * @Date:2018/3/2
     */
    @Test
    public void testUpdateIndexBean() throws IOException, SolrServerException {
        //创建连接solr服务器
        SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/core1");
        //创建一个实体类
        Item item = new Item();
        item.setId("10086");
        item.setTitle("斯派德摄像头，其实挺好用");
        item.setPrice(199000);
        //将对象添加到服务器中
        solrServer.addBean(item);
        //提交
        solrServer.commit();
        System.out.println("修改实体类完成");
    }
}
